科技新知

繼之前筆者介紹使用AI Chat問一些技術問題後,筆者亦試著用AI直接參考code的改動。

先講結論

目前筆者只針對自己熟悉的技術,叫AI幫忙做事。那怕它做錯,我也有條件驗證及修正。而結果是,。

優點:它的確有幫上忙,省了我一些時間。省時不多,但有省得不多。總比全人力Google來得舒服。

缺點:很慢,有點鈍。它的答案也可能很直觀,需要手動再調整。

寫測試

為免一下子挑戰太大,筆者先從寫測試開始。使用一個現有的專案,去掉secret等敏感資訊,然後針對新做的function,叫GitHub Copilot 幫忙寫Test Case。Copilot Agent就會開始檢驗你現有的測試,學著你之前的風格,為新的function寫測試。Copilot會結合你現有的程式,也了解一些框架的知識,例如Hibernate Entity, Repository之間的關係,試著寫一個符合你剛才文字表述的邏輯。就是因為這也是一個整體掃瞄和學習的過程,筆者覺得不論付費還是免費的AI額度,可能都會一樣慢。

為什麼要在這個地方上使用AI幫忙呢?

因為Test Case中,通常因應不同的情況,有不同的預設值。很多時,Test Case相似,又無法直接覆用預設值。所以找AI幫忙起草,後期自己再修正一些,總比全力自己設計要省心一點。

Maven pom依賴升級

筆者亦都有試過找GitHub Copilot 解決一些因版本升級帶來的依賴不相容的問題。同樣地,筆者對於這些問題,有一定的了解,只是不想每個版本逐個比較。筆者想靠 Agent 找到相近或相容的版本,結果算做得不錯。這些問題本身沒有難到需要大量Google去做資料搜集,但至少Troubleshoot時,要回憶幾個不同的maven指令。平常pom 版本分析的指令很少機會會用,一時三刻要重新好好理解一下,也是費神。這個場境,似乎AI也勝任,自己最後驗證也簡單。就像解一元多次方程式一樣,找解很費神,但驗證就很簡單。那怕驗證時真要追蹤 pom file,也有IDE幫忙。

總括來講,筆者沒有叫AI大量創作,在控制問題範圍的情況下,免費額度的GitHub Copilot也能找到一些幫助。

馬交野